From c96513ff9d564b019ab8849d5bd8c4c81b19e871 Mon Sep 17 00:00:00 2001 From: Stefano Stabellini Date: Mon, 18 Feb 2013 16:02:29 +0000 Subject: [PATCH] xen/arm: don't set the internal Xen timer if virt_timer is masked Signed-off-by: Stefano Stabellini Acked-by: Ian Campbell --- xen/arch/arm/vtimer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/vtimer.c b/xen/arch/arm/vtimer.c index dfe3a3ef8d..a68f66272a 100644 --- a/xen/arch/arm/vtimer.c +++ b/xen/arch/arm/vtimer.c @@ -80,7 +80,8 @@ int virt_timer_save(struct vcpu *v) v->arch.virt_timer.ctl = READ_SYSREG32(CNTV_CTL_EL0); WRITE_SYSREG32(v->arch.virt_timer.ctl & ~CNTx_CTL_ENABLE, CNTV_CTL_EL0); v->arch.virt_timer.cval = READ_SYSREG64(CNTV_CVAL_EL0); - if ( v->arch.virt_timer.ctl & CNTx_CTL_ENABLE ) + if ( (v->arch.virt_timer.ctl & CNTx_CTL_ENABLE) && + !(v->arch.virt_timer.ctl & CNTx_CTL_MASK)) { set_timer(&v->arch.virt_timer.timer, ticks_to_ns(v->arch.virt_timer.cval + v->arch.virt_timer.offset - boot_count)); -- 2.30.2